<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // await 需要写在模块中，或写到async函数中

    {
        // await 右侧如果是一个非Promise实例,那么await表达式的结果即为该非Promise
        // async function fn(){
        //     const result = await 1;
        //     console.log(result);// 1
        // }
        // console.log(fn());// 成功，undefined
    }
    {
        // await 右侧如果是一个Promise实例,表达式的结果为Promise实例的成功值.
        // 如果右侧是一个失败的Promise实例，抛出异常(表达式后续代码不会执行)。
        // 可以通过try,catch解决

        // async function fn(){
        //     // const result = await Promise.resolve(2);
        //     // console.log(result);// 2
        //     try{
        //         const result = await Promise.reject(2);
        //         console.log(result);// 2
        //     }catch (err){
        //         console.log("err",err);// 2
        //     }
        //
        // }
        // console.log(fn());// 失败，2
    }
    {
        // function my(){
        //     console.log(100)
        // }
        // async function fn(){
        //     let a = await my();
        //     console.log(a);
        // }
        //
        // fn();
        // console.log(2);
    }
</script>
</html>